// 这是一个混入对象！
// 抽离了多个页面需要复用的数据、方法、生命周期调用逻辑等

// 按需导入 mapGetters 这个辅助方法
import { mapGetters } from 'vuex'
  
export default {
  // 有问题！！！ 注意使用的场景！
  // TabBar页面是会被缓存的！ 所以onLoad 只会触发一次！
  // 注意：如果页面打开就要做的事情，放在onLoad里面要考虑页面是否被缓存， 建议页面
  // 打开就要做的事情放在onShow里面，页面关闭要做的事情放在onHide里面
  // onLoad() {
  //   this.setBadge()  
  // },
  onShow() {
    this.setBadge()  
  },
  watch: {
    // 监听 total 值的变化
    total() {
      // 调用 methods 中的 setBadge 方法，重新为 tabBar 的数字徽章赋值
      this.setBadge()
    },
  },
  computed: {
     // 将 m_cart 模块中的 total 映射为当前页面的计算属性
    ...mapGetters('m_cart', ['total']),
  },
  methods: {
    // 设置角标
     setBadge() {
        uni.setTabBarBadge({
          index:2,
          text: this.total + ''  // 一定要是字符串类型，否则不会出现！！！
        })
    }
  },
}